package com.winhxd.b2c.common.domain.pay.condition;

import com.winhxd.b2c.common.domain.common.ApiCondition;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author yindanqing
 * @date  2019-01-13 11:18:24
 * @description 微信退款入参, 如果是一笔支付多次退款请使用相同的商户订单号(即原支付流水号)&指定不同的退款单号, 一笔支付可以多次退款, 申请退款总金额不能超过订单金额.
 */
public class PayRefundCondition extends ApiCondition implements Serializable {

	private static final long serialVersionUID = 5825339934872843457L;

	@ApiModelProperty("商户订单号, 原支付流水号, 必填")
	private String outTradeNo;

	@ApiModelProperty("退款单号, 针对每笔退款的唯一标识, 必填")
	private String outRefundNo;

	@ApiModelProperty("业务系统订单号, 必填")
	private String orderNo;

	@ApiModelProperty("订单金额：元, 必填")
	private BigDecimal totalAmount;

	@ApiModelProperty("退款金额：元, 必填")
	private BigDecimal refundAmount;

	@ApiModelProperty("退款原因, 必填")
	private String refundDesc;

	@ApiModelProperty("创建人, 非必填")
	private Long createdBy;

	@ApiModelProperty("创建人姓名, 非必填")
	private String createdByName;

	public String getOutRefundNo() {
		return outRefundNo;
	}

	public void setOutRefundNo(String outRefundNo) {
		this.outRefundNo = outRefundNo;
	}

	public String getOutTradeNo() {
		return outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public BigDecimal getRefundAmount() {
		return refundAmount;
	}

	public void setRefundAmount(BigDecimal refundAmount) {
		this.refundAmount = refundAmount;
	}

	public String getRefundDesc() {
		return refundDesc;
	}

	public void setRefundDesc(String refundDesc) {
		this.refundDesc = refundDesc;
	}

	public Long getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(Long createdBy) {
		this.createdBy = createdBy;
	}

	public String getCreatedByName() {
		return createdByName;
	}

	public void setCreatedByName(String createdByName) {
		this.createdByName = createdByName;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
}
